jQuery.WPV = jQuery.WPV || {};

(function (jQuery, undefined) {
    jQuery.WPV.initJailImages = function (context, filter, speed, callback) {
        var images = jQuery("img.lazy[data-href]", context || document).not(".jail-started, :animated");
        if (filter) {
            images.filter(filter);
        }
        if (images.length) {
            var prefs = {
                speed: speed || 1000,
                timeout: 0
            };
            if (callback) {
                prefs.callback = callback;
            }
            images.addClass("jail-started").jail(prefs);
        } else {
            if (callback) {
                callback();
            }
        }
        images = null;
    };
    jQuery(function () {
        function sequenceRepaint() {
            var parentWidth = jQuery(this).parent().width();
            var ow = parseInt(jQuery(this).attr('data-width'), 10);
            var oh = parseInt(jQuery(this).attr('data-height'), 10);
            if (ow && oh) {
                jQuery(this).css({
                    width: Math.min(ow, parentWidth),
                    height: Math.min(oh, parentWidth / ow * oh)
                });
            } else {
                jQuery(this).css({
                    width: parentWidth
                });
            }
            if (jQuery(this).is(':not(.noimageresize)')) {
                function cropImage() {
                    var w = this.width,
                        h = this.height,
                        sh = jQuery(this).closest('.sequence').height();
                    jQuery(this).css({
                        'margin-top': (sh - h) / 2
                    });
                }
                jQuery(this).find('.crop img').each(function () {
                    if (this.complete) {
                        cropImage.apply(this, arguments);
                    } else {
                        jQuery(this).bind("load", cropImage);
                    }
                });
            }
        }
        jQuery(window).resize(function () {
            jQuery('.sequence').each(sequenceRepaint);
        }).resize();
        var commonImages = jQuery('img.lazy').not(".portfolios.sortable img, .portfolios.scroll-x img, :animated, .wpv-wrapper img");
        if (commonImages.length) {
            commonImages.addClass("jail-started").jail({
                speed: 800
            });
        }
        var sliderImages = jQuery('.wpv-wrapper img.lazy');
        if (sliderImages.length) {
            sliderImages.addClass("jail-started").jail({
                speed: 1400,
                event: 'load'
            });
        }
        
        jQuery.rawContentHandler(function () {
            
            jQuery(".toggle_title", this).click(function () {
                if (jQuery(this).is('.toggle_active')) {
                    jQuery(this).parent().removeClass('open');
                    jQuery(this).removeClass('toggle_active').siblings('.toggle_content').slideUp("fast");
                } else {
                    jQuery(this).parent().addClass('open');
                    jQuery(this).addClass('toggle_active').siblings('.toggle_content').slideDown("fast");
                }
            }).siblings('.toggle_content.load_hidden').hide();
        });
        if (jQuery.browser.msie && jQuery.browser.version == 7) {
            var ba = '.widget_pages li a';
            jQuery('*').each(function (i) {
                if (jQuery(this)[0].currentStyle['before']) {
                    var before = jQuery(this).prepend('<span class="before"></span>').find('span.before');
                    before.text(jQuery(this)[0].currentStyle['before'].replace(/'/g, ''));
                }
                if (jQuery(this)[0].currentStyle['after']) {
                    var after = jQuery(this).append('<span class="after"></span>').find('span.after');
                    after.text(jQuery(this)[0].currentStyle['after'].replace(/'/g, ''));
                }
            });
        }
    });
})(jQuery);